﻿#Region "IMPORTS"

Imports DAO

#End Region

Public Class CidadeDao
    Inherits DAO(Of Cidade)


#Region "CONSTRUTOR(S)"

    Public Sub New()
        MyBase.New()
    End Sub

#End Region

#Region "METODOS ABSTRATOS"

    Protected Overrides Sub ValidarInsert(modelo As Cidade)

        Dim NHQL As String = "SELECT COUNT(*) FROM Cidade where Nome  = '" & modelo.Nome & "'"
        Dim count  As Integer = Me.FindUnique(NHQL)

        If count > 0 Then
            Throw New Exception("Já existe uma Cidade com esse Nome")
        End If
    End Sub

    Protected Overrides Sub ValidarDelete(modelo As Cidade)

    End Sub

    Protected Overrides Sub ValidarUpdate(ByVal modelo As Cidade)

        Dim NHQL As String = "from Cidade as c where c.Nome  = '" & modelo.Nome & "' AND c.CidadeId != " & modelo.CidadeId
        Dim cidade  As Cidade = Me.FindUnique(NHQL)

        If Not  cidade is Nothing  Then
            Throw New Exception("Já existe uma Cidade com esse Nome")
        End If

    End Sub

#End Region
End Class
